package com.hpsk.shopservice.model.config.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;

import com.hpsk.common.CommonVo;
import com.hpsk.shopservice.model.config.dto.BizConfigMenuAddDto;
import com.hpsk.shopservice.model.config.vo.BizConfigMenuVo;
import io.github.linpeilie.annotations.AutoMapper;
import io.github.linpeilie.annotations.AutoMappers;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 列表控制器
 * </p>
 *
 * @author huangwang
 * @since 2025-03-20
 */
@EqualsAndHashCode(callSuper = true)
@Getter
@Setter
@TableName("biz_config_menu")
@Schema(description = "列表控制器")
@AutoMappers({
        @AutoMapper(target = BizConfigMenuAddDto.class)
        , @AutoMapper(target = BizConfigMenuVo.class)
})
public class BizConfigMenu extends CommonVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @TableId("id")
    private Long id;

    @Schema(description = "名称")
    @TableField("name")
    private String name;

    @Schema(description = "级别")
    @TableField("level")
    private Integer level;

    @Schema(description = "父级id")
    @TableField("parent_id")
    private Long parentId;

    @Schema(description = "排序")
    private Integer sort;

    @Schema(description = "路由地址")
    private String routerUrl;

    @Schema(description = "图标")
    private String icon;
}
